An institution or group of institutions may rely on a set of computer-based applications for performing tasks related to the institution. These applications may be spread across disparate local environments with different interfaces. For example, a financial institution may maintain hundreds of applications across multiple banking channels.
Many of the applications may incorporate similar functionalities and perform similar tasks. For example, a financial institution may maintain multiple applications that require entry of a customer account number.
Development and maintenance of the applications across these disparate environments is difficult and burdensome. Although a particular functionality may be common to multiple applications, any modifications must be separately reproduced within each application. For example, the financial institution may change the format for customer account numbers from a 10-digit format to a 14-digit format. This change may require reconfiguration of entry fields in the user interfaces for different applications to accommodate the additional digits. In order to implement the change, programmers must modify the business logic governing account number entry within each individual application.
Regulatory and compliance requirements often require modifications that affect tasks common to multiple applications. Although the same modification will be implemented across many different applications, each application must be updated separately.
Centralizing shared business logic for a set of institutional applications would provide a single access point to modify or correct rules or procedures. Regulatory requirements could be more efficiently implemented across the set of applications with a single change to the shared business logic.
In addition to shared business logic, the same centralized system could generate further efficiencies by providing shared access to constant data and frequently accessed data across multiple applications.
It would be desirable, therefore, to centralize control over business logic for multiple disparate applications. It would also be desirable to enable modifications to shared business logic that will be implemented across multiple applications. It would be desirable to accomplish this integration with minimal disruption to existing system architecture.